/*
 * Autor: Edivã Goncalves Teodozio
 * Data: 14/11/2014  11:06
 *
 */
#ifndef ESTATISTICAS_H
#define ESTATISTICAS_H
#include <fstream> //para ofstream
#include <iostream> //para cerr
#include <iterator>
#include <vector>
#include <time.h>

#include "../../Matematica/include/Matriz4d.h"
#include "../../Matematica/include/Coordenada3d.h"

#include "../../Agente/include/Agente.h"

class Estatisticas{



public:

	void setDadosAgente(Agente,int);//metodo para pegar dados dos robos
	void setBola(Matriz4d);
	void setAgentes(Agente,int);//metodo para pegar dados inciais dos agentes
	void listaDados();//metodo para lista dados ou estatisticas
	Agente atualizaAgente(int);
	void salvaDadosAgentes(int);
	void gravaCoordendasBola(std::vector<Agente> );
	void gravaCoordenadasCSV(std::vector<Agente> );//imprimir coordenadas em xls
	void setMensagemsRecebidas(int,int,int,double,std::string,std::string);
	void criaPasta();
	void resulmoJogo(int);


private:



	// Matriz4d parte;

	 std::vector<Matriz4d> bola;
	 Agente vetAgente[23];//vetor para guardar agentes
	 std::vector<Agente>::const_iterator it; //iterato para percorrer o vetor de agentes
	//std::vector<Matematica>::const_iterator bol; //iterato para percorrer o vetor bola
	 std::ofstream graCoorEst;//variavel para manipulação de arquivo
     double dTempoTotalJogo;
	 int iQuantMensaCompl;
	 int iQuantMensagParcial;
	 int iQuantMensCortada;

	 int iTotalQuedas;
	 double dTotalTempoQuedas;
	 double iMediaTotalQuedas;
	 double iMediaTotalTempoQuedas;
     std::string sPastaSalvaDados;
     std::string sScoreLeft, sScoreRight;
     time_t tTempoSistema;



};


#endif
